---
id: update-nrf52-bootloader
title: How to Update or Recover the Bootloader on nRF52 Devices to the Latest Version
sidebar_label: Update nRF52 Bootloader
sidebar_position: 5
description: Instructions for updating or recovering the bootloader on nRF52 devices.
---

If you're experiencing issues with updating or flashing newer versions of the Meshtastic firmware, and your nRF52 device is not running the latest bootloader version, updating the bootloader may resolve these problems.

To check which version of the bootloader your device is running, place the device into DFU mode. Then, open the mounted drive that appears on your computer and check the `INFO_UF2.TXT` file.

## Updating bootloader

Below are the steps to update your bootloader.

### Method 1: Using the UF2 File (Recommended)

Depending on your device, you need to select the correct bootloader package. Below are the links to the bootloader packages:

- [Lilygo T-Echo](https://github.com/meshtastic/firmware/raw/master/bin/update-lilygo_techo_bootloader-0.6.1_nosd.uf2)
- [RAK4631](https://github.com/RAKWireless/WisBlock/raw/master/bootloader/RAK4630/Latest/wiscore_rak4631_board_bootloader-0.4.3_s140_6.1.1.uf2)
- [Seeed Tracker 1000-E](https://github.com/adafruit/Adafruit_nRF52_Bootloader/releases/download/0.9.2/update-t1000_e_bootloader-0.9.2_nosd.uf2)
- [Generic Meshtastic 6.1.1 for DIY](https://github.com/meshtastic/firmware/raw/master/bin/generic/update-Meshtastic_6.1.0_bootloader-0.9.2_nosd.uf2)
- [Generic Meshtastic 7.3.0 for DIY](https://github.com/meshtastic/firmware/raw/master/bin/generic/update-Meshtastic_7.3.0_bootloader-0.9.2_nosd.uf2)

1. Download the correct UF2 Bootloader File.
2. Connect your device to your computer via USB.
3. Activate bootloader mode by quickly double pressing the RESET button on your device. For The Seeed Tracker 1000-E, you need to press-and-hold the user button and quickly connect the USB cable to the magsafe port twice. The device should appear as a removable drive on your computer.
4. Drag and drop the UF2 file you downloaded into the removable drive. The device will automatically update the bootloader and reset.
5. Once the device resets, the update is complete. Your device is now running the latest bootloader version and you can proceed with [flashing the firmware](/docs/getting-started/flashing-firmware/nrf52/drag-n-drop/).

### Method 2: Using adafruit-nrfutil

:::caution

Unlike uf2 uploads, adafruit-nrfutil does not check if you have the correct bootloader package for your device. If you flash the wrong bootloader, you may brick your device. Please also verify the SHA256 checksum before flashing.

:::

:::info

These instructions assume you have python and pip already installed. If you do not, please install the latest version of python (which includes pip) from [Python.org](https://www.python.org/downloads/).

:::

Depending on your device, you need to select the correct bootloader package. Below are the links to the bootloader packages:

- [Lilygo T-Echo](https://github.com/meshtastic/firmware/raw/master/bin/lilygo_techo_bootloader-0.6.1.zip) SHA256: 85d8a334bbf82802d712e183f29ec5215f06786ca88914687c437aceab75d9cf
- [RAK4631](https://github.com/RAKWireless/WisBlock/raw/master/bootloader/RAK4630/Latest/wiscore_rak4631_board_bootloader-0.4.3_s140_6.1.1.zip) SHA256: 4a216ad2be8be23b80371a11753677c850c5711d3b85129390a416fc47ea0910
- [Seeed Tracker 1000-E](https://github.com/adafruit/Adafruit_nRF52_Bootloader/releases/download/0.9.2/t1000_e_bootloader-0.9.2_s140_7.3.0.zip) SHA256: 8c69f0d43a7aac925055451d7262682d6926d4cfb7ea8240b466dc8f16a692ba
- [Generic Meshtastic 6.1.1 for DIY](https://github.com/meshtastic/firmware/raw/master/bin/generic/Meshtastic_6.1.0_bootloader-0.9.2_s140_6.1.1.zip) SHA256: ecebecea849ab79d09517dd4f6ff98de5647fe275b0b4d525501e6c29cb5a586
- [Generic Meshtastic 7.3.0 for DIY](https://github.com/meshtastic/firmware/raw/master/bin/generic/Meshtastic_7.3.0_bootloader-0.9.2_s140_7.3.0.zip) SHA256: 9a38edf4e974a6f705c41b296499a4fc57682ec9bb686eecd9f3d8d02fc6ffcf

1. Open a terminal or command prompt and install adafruit-nrfutil by running:

```bash
pip install adafruit-nrfutil
```

2. Obtain the correct zip package.
3. Connect your device to your computer via USB.
4. In the terminal or command prompt, navigate to the directory where you downloaded the bootloader zip package and execute the following command, replacing /dev/ttyACM0 with the correct port for your device (Windows users might use COMx):

```bash
adafruit-nrfutil --singlebank --touch 1200 --verbose dfu serial --package <downloaded file>.zip -p /dev/ttyACM0 -b 115200
```

5. Once the process finishes, the update is complete. Your device is now running the latest bootloader version and you can proceed with [flashing the firmware](/docs/getting-started/flashing-firmware/nrf52/drag-n-drop/).

### Method 3: Using a Debugger

If the above methods do not work and if the hardware supports it (i.e., has the required SWD pins), a debugger like a DAPLink or J-Link can be used to flash the bootloader directly. Refer to the [Debugger Instructions](https://meshtastic.org/docs/getting-started/flashing-firmware/nrf52/convert-rak4631r/#debugger) for an example with the RAK4631.
